#pragma once

#include <cstdint>
#include <string>
#include "Singleton.h"
#include "expire_def.h"
#include "9200_agency_event_api.pb.h"


class SharePosterMgr
{
public:
    SharePosterMgr();
    virtual ~SharePosterMgr() = default;

public:
    static SharePosterMgr* Instance()
	{
		return CSingleton<SharePosterMgr>::Instance();
	}

public:
	const agency_event_api::SharePoster* Get(const std::uint32_t uid);
	void Set(const std::uint32_t uid, agency_event_api::SharePoster&& share_poster);

public:
    // 用户内存数据缓存5个小时
    ExpireMgr<std::int32_t, agency_event_api::SharePoster, 5 * 3600> m_mgr;
};

















